<script setup>
import { computed, ref } from 'vue';

	// 患病时长
	const illnessTimes = [
	  { value: 1, text: '一周内' },
	  { value: 2, text: '一月内' },
	  { value: 3, text: '半年内' },
	  { value: 4, text: '半年以上'}
	]

//获取患者有没有就诊过
const consultFlags=[
	{value:0,text:'没有就诊过'},
	{value:1,text:'就诊过'}
]


//记录患者病情描述数据
const illnessInfo=ref({
	//定义病情描述
	 illnessDesc:'',
	 //定义患病时间
	 illnessTime:'',
	 //就诊情况
	 consultFlag:'',
	 pictures:[]
})

//选择患病时长
const onChangeTime=(value)=>{
	illnessInfo.value.illnessTime=value
}
//选择就诊情况
const onChangeFlags=(value)=>{
	illnessInfo.value.consultFlag=value
}

//是否允许下一步操作
const isNext=computed(()=>{
	//校验必填数据
	return (illnessInfo.value.illnessDesc!==''&&illnessInfo.value.illnessTime!==''&&illnessInfo.value.consultFlag!=='')
})

const query=defineProps({
	type:String,
	illnessType:String,
	depId:String
})
import { useConsultStore } from '@/stores';
const store =useConsultStore()


 // 提示用户是否恢复之前填写的病情数据
  if(store.consult.illnessDesc){
  	uni.showModal({
			  title:'温馨提示',
				content:"您确定要恢复之前填写的病情数据吗？",
				success:(res)=>{
					if(res.confirm){
						illnessInfo.value.illnessDesc=store.consult.illnessDesc
						illnessInfo.value.illnessTime=store.consult.illnessTime
						illnessInfo.value.consultFlag=store.consult.consultFlag
						illnessInfo.value.pictures=store.consult.pictures||[]
					}
				}
		})
  }
//点击下一步
const onNext=()=>{
	//校验是否下一步
	if(illnessInfo.value.illnessDesc===''){
		return uni.showToast({
			icon:"none",
			title:'请输入病情内容'
		})
	}
	if(illnessInfo.value.illnessTime===''){
		return uni.showToast({
			icon:"none",
			title:'请选择患病时间'
		})
	}
	if(illnessInfo.value.consultFlag===''){
		return uni.showToast({
			icon:"none",
			title:'请选择是否就诊过'
		})
	}
	
	//保存数据到pinia里面
	store.setConsult(illnessInfo.value)
  store.setType(query.type)
		store.setIllnessType(query.illnessType)
		store.setDepId(query.depId)
		
	//下一步跳转
	 uni.navigateTo({
	 	url:'/subpkg_consult/patient/index'
	 })
}
</script>

<template>
  <scroll-page>
    <view class="description-page">
      <!-- 在线医生 -->
      <view class="doctor-online">
        <image
          src="/static/uploads/doctor-avatar-2.png"
          class="doctor-avatar"
        />
        <view class="doctor-info">
          <view class="name">在线医生</view>
          <view class="message">
            请描述你的疾病或症状、是否用药、就诊经历，需要我听过什么样的帮助
          </view>
          <view class="tips">
            <text class="iconfont icon-shield"></text>
            内容仅医生可见
          </view>
        </view>
      </view>
      <!-- 患者信息 -->
      <view class="patient-info">
        <view class="description">
          <uni-easyinput
            type="textarea"
            :styles="{ backgroundColor: '#f6f6f6' }"
            :input-border="false"
            placeholder-style="font-size: 30rpx; color: #979797"
            placeholder="请详细描述您的病情,病情描述不能为空"
						v-model="illnessInfo.illnessDesc"
          />
        </view>

        <view class="title">本次患病多久了？</view>
        <view class="tags">
          <text class="tag" :class="{active:illnessInfo.illnessTime===item.value}" v-for="item in illnessTimes" :key="item.value" @click="onChangeTime(item.value)">{{item.text}}</text>
        </view>

        <view class="title">此次病情是否去医院就诊过？</view>
        <view class="tags">
          <text class="tag" :class="{active:illnessInfo.consultFlag===item.value}" v-for="item in consultFlags" :key="item.value"  @click="onChangeFlags(item.value)">{{item.text}}</text>
        </view>
      </view>
      <!-- 上传图片 -->
      <view class="patient-picture">
        <uni-file-picker
					v-model="illnessInfo.pictures"
          title="上传病情相关图片 (仅医生可见)"
          limit="8"
          :image-styles="{ width: '160rpx', height: '160rpx' }"
          file-extname="png,jpg,gif,webp"
        />
      </view>
    </view>
    <!-- 下一步操作 -->
    <view class="next-step">
      <button class="uni-button" @click="onNext">下一步</button>
    </view>
  </scroll-page>
</template>

<style lang="scss">
@import './index.scss';
</style>